/**
 * 开启了严格模式，只是说使得函数内的this指向undefined,他并不会改变全局中this指向。因此this1中打印的是undefined,
 * 而this2还是window对象。另外，它也不会阻止a被绑定到window对象上
*/
"use strict";
var a = 10;
function foo () {
    console.log("this1", this); // undefined
    console.log(window.a); // 10
    console.log(this.a); // 报错
}

console.log(window.foo); // function foo
console.log("this2", this); // window
foo();